import logging

import pytest

from resource.pom.memorandum import Memorandum


class Test:
    app = Memorandum

    @pytest.mark.parametrize('setup_teardown', [app.bundle_name], indirect=True)
    def test(self, setup_teardown, device):
        logging.info('预置条件.清除测试数据')
        device.hdc_shell('rm -rf /data/app/el2/100/database/com.ohos.note/default/rdb/note.db')
        device.wait(2)
        logging.info('步骤1：进入桌面，点击备忘录应用')
        device.start_ability(self.app.bundle_name, self.app.ability_name)
        device.refresh_layout()
        note_item = device.get_element_by_text('数学公式')
        device.long_click_element(note_item)
        device.click(*self.app.move_menu)
        logging.info('预期结果1：长按笔记，显示可分类的弹窗')
        device.refresh_layout()
        device.assert_text_exist('请选择文件夹')
        device.assert_text_exist('个人')
        device.assert_text_exist('生活')
        device.assert_text_exist('工作')

        logging.info('步骤2：勾选新的分类')
        device.click_element(device.get_element_by_text('工作'))
        logging.info('预期结果2：勾选新的分类自动保存')
        device.refresh_layout()
        device.assert_text_exist('取消', expect=False)

        logging.info('步骤3：查看笔记是否被移动到了新的分类中')
        device.click(*self.app.open_menu)
        device.refresh_layout()
        device.click_element(device.get_element_by_text('工作'))
        device.click(*self.app.close_menu)
        logging.info('预期结果3：在选择的新的分类中可以查看到此笔记')
        device.refresh_layout()
        device.assert_text_exist('数学公式')
